package org.example.maven.service;


import org.example.maven.pojo.Review.ReviewCollectionListTable;
import org.example.maven.pojo.Review.ReviewCollectionSpecie;
import org.example.maven.pojo.list.ListTableCollection;
import org.example.maven.pojo.list.ListTableCollectionAddDetail;
import org.example.maven.pojo.list.ListTableCollectionDetail;
import org.example.maven.pojo.list.ListTableCollectionEditDetail;
import org.example.maven.pojo.utils.CollectionJpa;
import org.example.maven.pojo.utils.SearchCollection;

import java.util.List;

public interface CollectionService {
    //分页查询藏品
    List<ListTableCollection> getList(int pageNum, int pageSize);

    //获取所有的藏品信息
    List<ListTableCollection> getAllCollection();

    //查寻藏品的总数
    Integer getCollectionNumber(SearchCollection searchCollection);
    //查询特定的藏品
    List<ListTableCollection> getSpecificCollection(int pageNum, int pageSize, SearchCollection searchCollection);
    //获取藏品的详细信息
    ListTableCollectionDetail getCollectionDetail(Integer id);
    //获取编辑藏品的信息
    ListTableCollectionEditDetail getCollectionEditDetailById(Integer id);
    //获取审核的藏品数
    Integer getCollectionReview(ReviewCollectionSpecie reviewCollectionSpecie);
    //获取新日新增藏品数
    Integer getCollectionReviewDay();

    //获取审核藏品的listTable信息
    List<ReviewCollectionListTable> getCollectionReviewListTable(Integer pageNum,Integer pageSize);

    //获取特定的审核藏品的listTable信息
    List<ReviewCollectionListTable> getSpecieReviewCollection(Integer pageNum,Integer pageSize,ReviewCollectionSpecie reviewCollectionSpecie);

    //修改藏品信息
    void updateCollection(CollectionJpa collectionJpa);

    //进行藏品审核的通过
    void updateCollectionReview(Integer[] id);

    //添加藏品
    void addCollection(ListTableCollectionAddDetail listTableCollectionAddDetail);

    //将待审核藏品添加到审核表
    void addReviewCollection(Integer collectionId,Integer userId);


}
